home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Games: Greatest Hits 1996
/
Amiga Games: Greatest Hits 1996.iso
/
userbox
/
publicdomain
/
bootgauge
/
misc
/
header.txt
< prev
next >
Wrap
Text File
|
1996-05-11
|
19KB
|
514 lines
/*
** $VER: BootGauge 0.9 (20 Apr 1996) **
**
** © 1995/1996 Timo C. Nentwig
** all rights reserved !
**
** Tcn@techbase.in-berlin.de
**
** ======================================
**
**
** Language:
** ¯¯¯¯¯¯¯¯
**
** Program is compiled by SAS/C
**
**
** Purpose:
** ¯¯¯¯¯¯¯
**
** Display gauge bar during booting
**
**
** Requirements:
** ¯¯¯¯¯¯¯¯¯¯¯¯
**
** · AmigaOS 2+
** · gtlayout.library
**
mod_Gauge's quit gadget doch GLOBAL, SIG_KILL an Main_proc schicken !
IDCMP_DISKREMOVE scheint nicht beachted zu werden ...
Req() funktioniert scheinbar nicht mit "%s" ... siehe failed commands
split into program and bootgauge.library
#define BOLD \33[1m etc.
Use Req() also instead of printf()
///" Bugs"
**
** Bugs:
** ¯¯¯¯
**
** · Pictures (BitPlanes ?) sehen falsch aus. [weber]
** · Palette der Pics -> Scr's palette
**
** · scheinbar kann man per CLOSEWINDOW das Module nicht brauchbar abschießen
** ein Module kann ich nicht selbst abschießen ... ?!?!
**
**
///
///" ToDo"
**
** ToDo:
** ¯¯¯¯
**
** · log file/verbose ?
** · if block handling
** · Die scheiß Gauge bar muß doch irgendwie auf 100% (nicht 101 und nicht 99) zu bringen sein
**
** · /rkm/devices/audio/audio_8svx.c
** · Patches/Patch_Libs aus /Yak211/*.(c|h)
**
**
** -- -- Maybe: -- --
**
** |· Farben selbt einstellbar (nicht aus der Palette, sondern selbt einstellbar !!): SetRGB32( &(BG_scr -> ViewPort), 0, r, g, b);
** |· Farben aus File lesbar: GetRGB32() or LoadRGB32()
**
///
///" Notes"
**
** Notes:
** ¯¯¯¯¯
**
** · TABs = 4
** · requires IEEE math library
** · Uses the MagicWB colors
**
** Program has been testet with: · AmigaGuardian
** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ · memwatch.lib (SAS/C link library)
** · OS3.1 only !
**
///
** --------------------------------------
**
** History:
** ¯¯¯¯¯¯¯
**
/// " 0.1"
**
** >>>>>>>>>>> V0.1
** ¯¯¯¯
** 15 Sep 1995 first runable version
**
///
/// " 0.2"
**
** >>>>>>>>>>> V0.2
** ¯¯¯¯
** 17 Sep 1995 add: background image
** add: -gc/-gaugecolor
** add: background pattern
** add: -sc/-screencolor
** add: -nosr/-noscreenraster
** add: -test
** cng: background image
** add: -cv/-viewcommand
** add: FAILED_OPENSEQ
**
///
/// " 0.3"
**
** >>>>>>>>>>> V0.3
** ¯¯¯¯
** 20 Okt 1995 add: check: skip, failat, path
** cng: set "BootGauge ..." before everything in titlebar
** add: if/endif handling
** cng: image handling: now using little img and put it a grid
** add: window's x/y size is configureable
** add: IText and gauge bar adapts automatically to window's size
** add: gauge bar scale
** add: -nopat/-nopattern
** add: -wc/-windowcolor
** add: -nosl/-noscale
** add: -gbc/-gaugebackcolor
** add: subprg: -getid/-getmodeid
** fix: check if BG_win is too large for BG_scr
** add: c = tolower(c);
** fix: if handling now correct
** fix: cmd handling now correct (skip/notitle, failat ...)
** add: skip/lab handling
** cng: BootGauge -> BG (prg-intern)
** cng: image
** cng: palette, using now 32bit palette (SA_Colors32)
** add: -nodb/-nodebug
** cng: -no* int -> BOOL
**
** 01 Nov 1995 add: -emod/-ecsmode
** add: NO_COMMENT
**
** >>>>>>>>>>> Initial Release (AmiNet)
** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
**
///
/// " 0.4"
**
** >>>>>>>>>>> V0.4
** ¯¯¯¯
** 11 Nov 1995 cng: requester(str, var); (var argument)
** fix: no esc signs in the titlebar anymore
** cng: remove comments from titlebar string
** add: -btxt/-boottext
** add: struct TextAttr font = {...}
** add: -notb/-notitlebar
** add: subprg: FreeSpace
** add: -fsx/freespacex
** add: -fsy/freespacey
** add: -fsc/freespacecolor
** add: -fsx/freespacexs
** add: -fstc/freespacetypecolor
** add: -fsfc/freespacefypecolor
**
** 12 Nov 1995 add: subprg: MemSpace
** add: -msx/memspacex
** add: -msy/memspacey
** add: -msc/memspacecolor
** add: -msx/memspacexs
** add: -mstc/memspacetypecolor
** add: -msfc/memspacefontcolor
**
** >>>>>>>>>>>> Beta 1
** ¯¯¯¯¯¯
** rem: dead assignments in MemSpace.c
** add: dummy, tmp perc value in MemSpace.c
**
** 13 Nov 1995 cng: title is now also set on BG_pat
** add: menu: about, check marks: ms/fs/titlebar/quit
** add: BG is now quitable (menu/quit)
** add: menu shortcuts
** add: default <sequence> is "sys:s/amiga-startup"
** add: IDCMP_DISKINSERTED
** cng: minior changes
** cng: intern variable & config options
** rem: scr_pattern
** cng: new structure of source
** add: -btxtfp/-boottextfrontpen
**
** 16 Nov 1995 add: IDCMP_DISKREMOVED
** add: MS_putvalue();
** rem: FAILED_MEMSPACE
**
** 17 Nov 1995 cng: overworked DC
** add: -dcfp/-displaycmdfontpen
** add: -dcx/-displaycmdx
** add: -dcy/-displaycmdy
** rem: -getid/-getmodeid/subprg:GetModeID();
** cng: bootitext is centered between gauge bar and upper win frame
** cng: complete CLI commands (eg. no alternative)
** cng: Process_Seq() -> DoSeq()
** fix: bg started with -noms/-nofs and during running started by menu -> open at y = 0 (titlebar)
**
///
/// " 0.5"
**
** >>>>>>>>>>> V0.5
** ¯¯¯¯
** 01 Dec 1995 cng: BG_win now using gtlayout
** add: 3D frame for BG_win
** cng: many minior adjustments (variables, options ...)
** cng: all is now using gtlayout
** cng: now using WA_BackFill
** cng: uses much less mem
** fix: bootgauge didn't free all memory
** cng: completely overworked (more sources)
** rem: many options (in cause of gtlayout)
**
** 06 Dec 1995 add: ListCmd()
** add: LC_putvalue()
** add: LC_ShutDown()
**
** 07 Dec 1995 add: CreateNode()
** fix: LC_putvalue now works
**
** 09 Dec 1995 cng: -winpen (background color) now for all windows
** add: check if OS3+ is available
** add: SysInfo ()
**
** 12 Dec 1995 add: OpenLib() [Olaf Barthel]
** fix: func = (VOID *) ( (* ( (APTR *)(((struct MenuItem *) n )+1) ) ) );
** cng: BG_OpenWindow() -> GaugeBar()
** cng. BG_CloseWindow() -> GB_ShutDown()
** cng: on/off: gauge bar is now extern
**
** 13 Dec 1995 add: IDCMP handle for all windows
** add: routine to get builtin memory size
** cng: MemSpace now featuring also gauge bars
** add: SysInfo: CPU, FPU
** cng: Now using a GST file (wow !, fast !)
** cng: compiling with option: optschedule
**
** 17 Dec 1995 cng: finished source splitting
** add: SysInfo: Chip set
** fix: little layout correction in MemSpace()
** add: TimeInfo()
**
** 18 Dec 1995 add: CPUInfo()
** cng: menu updated (TimeInfo, CPUInfo) and sorted (alphabetic)
** cng: cleaned up unused/old/unrequired variables
** cng: names of some variables
**
** 19 Dec 1995 add: menu item for GaugeBar()
** cng: now use normal instead of checking menus
**
** 20 Dec 1995 cng: bgTimeInfo.c now also displays the seconds
**
///
/// " 0.6"
**
** >>>>>>>>>>> V0.6
** ¯¯¯¯
** 22 Dec 1995 cng: Requester() accepts now arguments
** cng: MemSpace runs in its own task
**
** 23 Dec 1995 add: SetClickDrive()
** cng: overworked a bit and made safer
** cng: overworked OpenScr(), screen is now really public
** fix: TimeInfo(), e.g. 22:1:5 instead of 22:01:05
** fix: didn't recognize end of if-blocks
** cng: don't copy more than 2 empty signs into line[] "ab c" -> "ab c"
** cng: titlebar format and use sprintf() for making title_text
** rem: nline[]
** cng: line[]: no comments, no '\n'
** fix: -noreq now takes no effect to Menu/About
** fix: problem with comments (ESC sign was shown)
**
** 25 Dec 1994 add: -drvclick
** add: -nobborder; BlackBorder()
** add: now it is possible to use a config file if available
** cng: overworked DoSeq(): use now fgets(), line is now case-sensitiv (for rename, ...)
** add: lower()
** add: upper()
** add: check result of system(), display error, warn, ... in requester
** add: count of system()'s failures are displayed in DisplayCmd
**
** >>>>>>>>>>> Beta 1
** ¯¯¯¯¯¯
** 28 Dec 1995 add: InitBackFill();
** cng: scr's depth defineable
** cng: default scr depth 3, use MagicWB colors
** cng: DriPens[] (e.g. active title bar text is now white)
** cng: overworked Menu_About() a little bit
** rem: variable for sub prgs: si, ms, fs, ti, dc, gb, ci; now check if window is open/task is running
** rem: menu item for sub programs and titlebar, was simply nonsense
** cng: workaround: if titlebar is enabled MoveWindow() [MS, CI, FS] don't overwrite title bar
** cng: now just execute path and alias
** add: -failat, default = 21;
** cng: names of sub programs (and its variables[windows, handle, open_*]), now called "modules"
** cng: names of all files (bg_* and mod_*)
** cng: better structure
** cng: screen title now for all windows
** cng: window title of mod_Gauge
** fix: if scr's title bar was off, title bar of mod_Text wasn't updated
**
** 29 Dec 1995 cng: general config structure
** fix: several minior bugs, didn't free some bytes
** add: dri_pens[] are now defineable
** cng: updated evaluateCfg/Args(), now you can configure everything ;-)
**
** 30 Dev 1995 cng: Menu now in win_Main
** cng: win_Main is now the default active window
** cng: Screen title bar text now defineable
**
**
**
** 01 Jan 1996 cng: better infos than just "OpenLibs()" failed
**
** 03 Jan 1996 fix: [Yak:] ClickDrive() didn't free (2 * 56) = 112 bytes
** add: Window's pos is saved automatically
** add: POS config file for modules
** cng: move bg's confgi files in a own dir
**
** 05 Jan 1996 add: Exists()
** add: ByteCopy()
** add: MakeDir()
** cng: SaveWinPos() now writes also in env:
** cng: now mod_Devs supports again IDCMP_DISKINSERTED
**
** >>>>>>>>>>> Beta 2
** ¯¯¯¯¯¯
** 08 Jan 1996 cng: mod_Gauge: CloseGadget just quit mod_Gauge not whole app
** cng: IDs now in the files where they are used (removed from GST) and using enum{}
** cng: mod_Time: now all gadgets are updated
** cng: module's gadgets are build by for () [code optimized]
**
** 09 Jan 1996 add: Font is now defineable
**
** 13 Jan 1996 cng: removed mod_Mem task, mod_Mem now runs directly again
** fix: forgot WA_NewLookMenus, TRUE, in win_Main
** add: Menu item: Wait [e.g. for pos windows]
**
** 14 Jan 1996 cng: now using reqtools.library for requesters
**
** 16 Jan 1996 add: much more error messages for system()
** cng: Requester() -> rprintf ()
** cng: improved rprintf () using va_list
**
///
/// " 0.7"
**
** >>>>>>>>>>> V0.7
** ¯¯¯¯
** 19 Jan 1996 add: SetMousePos()
**
** 25 Jan 1996 fix: SetMousePos(): used Pubscreen -> Workbench poped up
** fix: SetMousePos() didn't free some bytes
** fix: many minior fixes, e.g. files/devices/libs may not have been closed
**
** 26 Jan 1996 cng: rprintf() call wait pointer
** add: SetPointerAll()
** add: SetTitlePointer()
** cng: scr_Main is SA_Behind and first switched to front after opening win_Main
** add: use of DriveClick() is defineable
** add: use of BlackBorder() is defineable
** rem: setmouse is now always set and not longer defineable
** rem: requester cannot be disabled anymore
** cng: config structure overworked
**
** 27 Jan 1996 rem: mod_CPU, SysInfo.library can only be used if Executive is running
**
** 05 Feb 1996 add: fgetsf(), formated replacement for fgets()
** cng: mod_Text: WARNs, FAILs, ERRORs, OTHERs are white colored
**
** 06 Feb 1996 add: parseline()
** fix: strpos()
** cng: DoSeq() -> ExecuteSeq()
** cng: ExecuteSeq() rewritten for more compatibility
** add: CheckResult()
** cnd: lower() -> str2lwr()
** cnd: upper() -> str2upr()
**
** 08 Feb 1996 fix: fgetsf(): isalpha (...) -> if (c != ' ' && c != '\t')
** fix: strpos(): UBYTE -> BYTE, e.g. "\"" wasn't handled correctly
** cng: improved strpos(): finds now specified occurance of keyword and not just the first
** fix: parseline(): UBYTE -> BYTE, e.g. "\"" wasn't handled correctly
** fix: parseline(): now handle commands in quotation marks correct, e.g. "c:my command"
** add: more error msg for failed commands
**
** 09 Feb 1996 cng: GetFastMemSize()/GetChipMemSize() -> GetSizeMem()
**
** 10 Feb 1996 cng: strpos(): smaller and improved speed a bit
**
** 13 Feb 1996 cng: SetupConfig() -> SetDefaults()
** cng: default <seq> is now sys:s/system-startup
** cng: GetDay(), GetDate(), GetTime() -> GetDDT()
**
** 14 Feb 1996 fix: Problems with urouhack and DrawFrame() [borders were hand-calculated, not win -> Border???]
** cng: string functions are not limited to STR_LEN anymore
**
** 17 Feb 1996 cng: GetDDT() now uses strftime(): time is completely configurable
**
** 19 Feb 1996 cng: strcmp (str2lwr (...), ...) replaced with stricmp (...)
** rem: str2lwr ()
** rem: str2upr ()
**
** 20 Feb 1996 rem: substr(): replaced with strmid ()
** fix: memory leak in GetDDT ()
**
** 23 Feb 1996 fix: all memory leaks !
**
** 24 Feb 1996 add: Say(): speak a text using narrator.device
** add: cfg -> say.*
**
** 24 Feb 1996 add: strwrd()
**
** 25 Feb 1996 cng: fopen(), fclose(), fgetc, ... -> Open(), Close(), FGetC, ...
**
** 01 Mar 1996 fix: sequence wasn't unlocked if user canceled program
**
** 02 Mar 1996 cng: made again a little bit safer
** cng: several minior changes
**
** 09 Mar 1996 add: DisplayBeep(), Say() if an error happens
** cng: very much very little changes in the whole code
** add: Macro: Div()
** add: CreateBitMap()
** add: DeleteBitMap()
**
** 16 Mar 1996 cng: mod_Sys(): code reduced
** cng: mod_Sys(): runs in its own process
** add: cfg -> mod.Sys.highlabel
**
** 17 Mar 1996 add: About window
**
** 18 Mar 1996 add: Quit menu item for mod_Sys
** cng: mod_Sys: optimized
**
** 22 Mar 1996 add: mod_Sys is quitted by pressing '\033' = escape
**
** 24 Mar 1996 add: Menu item: Reboot
** add: elementary Req()
**
** 26 Mar 1996 cng: window snapping defineable
** cng: snap window only if its position has changed
**
** 29 Mar 1996 cng: Shell arguments are now evaluated by RDArgs()
** cng: Prototype is now defined in SCOptions
**
** 30 Mar 1996 rem: picture support [at least for the windows]
** cng: improved GetMemSize(), now using MEMF_*
** fix: mod_Mem works again
** rem: Say(), narrator.device support
**
** >>>>>>>>>>> Beta 1
** ¯¯¯¯¯¯
**
///
/// " 0.8"
**
** >>>>>>>>>>> V0.8
**
** 02 Apr 1996 cng: mod_Devs now also runs in its own process
**
** 07 Apr 1996 cng: overworked all modules
** rem: percent couting in titlebar of mod_Gauge & mod_Text
** cng: process creating/removing much safer
** add: security inquiry for ColdReboot () by Req ()
** [cng: Prototypes are now introduced by "PROTO", rewrote DICE's MakeProto]
** add: Req () replacing RPintF()
** add: 2 MagicWB images for Req ()
**
///
/// " 0.9"
**
** >>>>>>>>>>> V0.9
**
** 09 Apr 1996 cng: all modules now work in their own process !!!
** cng: mod_Gauge's quit gadget doesn't quit program but module only
**
** 11 Apr 1996 add: delay option for testing
**
** 12 Apr 1996 add: timer.device process updating considering modules every second
** add: menu item: NewShell
**
** 13 Apr 1996 rem: titlecmd
** add: isempty ()
** cng: FGetsF (): more flexible and improved
** cng: rewrote EvalPrefs(): shorter and faster
**
** 15 Apr 1996 fix: SingleCLI: STRING_KIND string wasn't terminated
**
** >>>>>>>>>>> Beta 1
** ¯¯¯¯¯¯
**
** 20 Apr 1996 [add: elementary Installer script]
**
** 21 Apr 1996 cng: internal failat removed, DOS failat used
**
** 23 Apr 1996 [cng: overworked guide: much more flexible now]
**
** 29 Apr 1996 cng: more info if OpenScr() failed (WA_ErrorCode)
**
** 11 May 1996 add: mod_Sys: MMU
**
** >>>>>>>>>>> Beta 2
** ¯¯¯¯¯¯
**
** >>>>>>>>>>> Second Release (AmiNet)
** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
**
///
**
*/